package com.ucode.crm.service;

import java.util.List;
import com.ucode.crm.mode.Business;
import com.ucode.crm.vo.BusinessVo;
import com.ucode.tool.base.Paginator;
/**
 * 商机Service
 * @author: liliang
 * @date: 2020年6月24日 下午2:42:13
 */
public interface BusinessService {

    /**
     * 新增商机
     * @author liliang
     * @date 2020年6月24日
     * @param business
     * @return
     */
    public Business insert(Business business);
    /**
     * 更新商机
     * @author liliang
     * @date 2020年6月24日
     * @param business
     * @return
     */
    public int update(Business business);
    
    /**
     * 逻辑删除(可恢复)
     * @author liliang
     * @date 2020年2月19日
     * @param ids 客户id
     * @return
     */
    public int deleteByLogic(Long id);
    
    /**
     * 物理删除(彻底删除)
     * @author liliang
     * @date 2020年2月19日
     * @param ids
     * @return
     */
    public int delete(List<Long> ids);
    
    /**
     * 转移
     * @author liliang
     * @date 2020年2月15日
     * @param ids 主键
     * @param ownerUserId 负责人
     * @param operatorId 操作人
     * @return
     */
    public int transfer(Long id,Long ownerUserId,Long operatorId);
    /**
     * 同步客户负责人
     * @author liliang
     * @date 2020年6月24日
     * @param customerId
     * @param ownerUserId
     * @return
     */
    public int updateCustomerOwnerUser(Long customerId,Long ownerUserId);
    /**
     * 主键查询
     * @author liliang
     * @date 2020年6月25日
     * @param id
     * @return
     */
    public Business findById(Long id);
    /**
     * 主键集合查询
     * @author liliang
     * @date 2020年6月25日
     * @param ids
     * @return
     */
    public List<Business> findByIds(List<Long> ids);
    /**
     * 主键查询
     * @author liliang
     * @date 2020年6月25日
     * @param id
     * @return
     */
    public BusinessVo findVoById(Long id);
    /**
     * 主键集合查询
     * @author liliang
     * @date 2020年6月25日
     * @param ids
     * @return
     */
    public List<BusinessVo> findVoByIds(List<Long> ids);
    
    /**
     * 分页查询客户商机
     * @author liliang
     * @date 2020年7月15日
     * @param customerId
     * @param pageNum
     * @param pageSize
     * @return
     */
    public Paginator<BusinessVo> queryPageByCustomer(Long customerId,int pageNum, int pageSize);
    
    
}
